- Přehledy IS
- APS (25)
- BPM - procesní řízení (23)
- Cloud computing (IaaS) (10)
- Cloud computing (SaaS) (31)
- CRM (52)
- DMS/ECM - správa dokumentů (19)
- EAM (17)
- Ekonomické systémy (68)
- ERP (75)
- HRM (28)
- ITSM (6)
- MES (33)
- Řízení výroby (36)
- WMS (28)
- Dodavatelé IT služeb a řešení
- Datová centra (25)
- Dodavatelé CAD/CAM/PLM/BIM... (41)
- Dodavatelé CRM (38)
- Dodavatelé DW-BI (50)
- Dodavatelé ERP (66)
- Informační bezpečnost (48)
- IT řešení pro logistiku (48)
- IT řešení pro stavebnictví (26)
- Řešení pro veřejný a státní sektor (27)


















![]() | Přihlaste se k odběru zpravodaje SystemNEWS na LinkedIn, který každý týden přináší výběr článků z oblasti podnikové informatiky | |
![]() | ||
Windows Server 2008 II
2. díl: Per aspera ad astra aneb Windows Web Server 2008 a IIS 7.0
Již tradičně přináší nová verze serverového operačního systému Windows i novou verzi webového aplikačního serveru – Windows Web Server 2008 s Internet Information Services (IIS), v tomto případě se jedná o IIS verze 7.0. Ta je samozřejmě také součástí všech vyšších edic Windows Serveru 2008. Hlavní dvě novinky v nové verzi IIS jsou modulární architektura a nový konfigurační model. Z nich potom vycházejí další nové možnosti a vlastnosti, jako například dálková správa, snazší rozšiřitelnost, nebo lepší podpora pro konfiguraci webových farem.


Nová modulární koncepce
Historicky měl vždy webový server v IIS monolitickou architekturu. Veškerá základní funkčnost byla napsána v jeho jádru. V jistých mezích ji sice bylo možno zapínat a vypínat či konfigurovat, ale nebylo možno některé části z webového serveru zcela odstranit nebo je nahradit jinými. Jedinou cestou k rozšíření funkčnosti IIS bylo psaní ISAPI filtrů a ISAPI extensions. Což jest cesta dosti krkolomná a nevděčná, a tudíž jen zřídkavě využívaná.
V případě IIS 7.0 je architektura přesně opačná: server sám o sobě neumí vůbec nic, dokonce ani posílat statické soubory. Je to jenom prázdná schránka, do které lze pomocí jednotlivých funkčních modulů přidat podporu pro různé protokoly (HTTP, HTTPS, FTP, FTPS, MSMQ, named pipes, …) a jejich funkcionalitu (posílání statických souborů, autentizace, autorizace, cacheování, podpora skriptování ASP, ASP.NET, PHP, CGI, logování, HTTP komprese, …).
V důsledku tato architektura znamená, že funkcionalitu, kterou nepotřebujete, můžete ze serveru úplně odstranit. Knihovny, které ji obsahují, se nebudou vůbec nahrávat do paměti a nemusejí být ani fyzicky přítomny na disku. To je výhodné z hlediska výkonu (IIS zabírá méně paměti), a zejména bezpečnosti (na server nelze zaútočit v případě, že se objeví chyba v nějaké komponentě, kterou nevyužíváte).

Snazší rozšiřitelnost
Shora uvedená modulární architektura s sebou nese též snazší rozšiřitelnost, neboť kterýkoliv z vestavěných modulů je snadné konfiguračně odstranit a nahradit vlastním. Součástí standardní instalace jsou pouze základní moduly a na CD s operačním systémem řadu funkcionality nenajdete. Rozšiřující moduly dle vlastní potřeby si můžete nicméně zdarma stáhnout na www.iis.net.
Můžete si je samozřejmě též psát sami, a to jak v unmanaged kódu (třeba v C++), tak v managed jazycích .NET Frameworku. Dá se předpokládat, že většina rozšiřujících modulů bude psána v .NET Frameworku, neboť se jedná o mnohem snazší úkol. Takové rozšiřující moduly se píší stejným způsobem jako HTTP moduly a handlery, které jsou již od samého počátku součástí technologie ASP.NET, pouze jejich možnosti jsou výrazně rozšířeny. Stačí v některém z managed jazyků implementovat interface IHttpModule, respektive IHttpHandler, a konfiguračně zapojit vzniklou třídu do zpracování.

Pozice .NET Frameworku se oproti předchozím verzím změnila. Ve starších verzích byla knihovna aspnet_isapi.dll jenom jedním z mnoha ISAPI rozšíření a .NET programátoři tak byli značně omezeni v rozletu. Nová verze IIS nabízí tzv. integrated pipeline. Uživatelské moduly a handlery se do zpracování všech požadavků mohou zapojit v podstatě v libovolném okamžiku. Postavení HTTP handlerů a modulů je tak srovnatelné s postavením ISAPI filtrů a extensions v předchozích verzích.
Z důvodu zpětné kompatibility samozřejmě zůstala zachována též možnost provozovat aplikaci v „klasickém“ režimu, který je stejný jako v předchozích verzích ASP.NET.
Nový konfigurační model
Distribuovaná architektura se týká též konfiguračního modelu. Nově je konfigurace založena na XML souborech, podobně jako v případě aplikací v .NET Frameworku. Seznam virtuálních webových serverů a jejich výchozí nastavení jsou uložena v souboru applicationHost.config (obdoba machine.config z .NET Frameworku) a nastavení specifická pro daný webový server jsou uložena v souboru web.config v rootu webu. Samozřejmě lze přesně určit, která nastavení může měnit pouze administrátor a která mohou měnit uživatelé webu sami, prostřednictvím vlastního konfiguračního souboru.
V rámci jednoho webového serveru tak lze v jednom souboru web.config uchovávat nastavení webového serveru, .NET Frameworku i aplikace samé. Tento přístup výrazně zjednodušuje nasazení aplikace. Nastavení, která bylo nutné činit v předchozích verzích na několika místech, jsou nyní součástí jediného souboru, který stačí zkopírovat.

Je zde patrná inspirace konkurenčním webovým serverem Apache a jeho konfiguračními soubory httpd.conf a .htaccess. IIS nicméně pro tyto soubory využívá XML a cacheování, takže je distribuovaná konfigurace dostatečně rychlá, na rozdíl od Apache, kde jeho oficiální dokumentace doporučuje tuto vlastnost z výkonových důvodů raději nepoužívat.
Vylepšena je též podpora pro běh webových farem. Konfigurační soubor může být uložen mimo webový server, ve společném síťovém úložišti, takže změna konfigurace se automaticky projeví na všech nodech a není nutné se nijak zvlášť starat o synchronizaci konfigurace.
Lepší nástroje pro správu
V předešlých verzích IIS bylo k dispozici pouze grafické rozhraní (Internet Service Manager), nebo skriptování přes ADSI. Prvně zmíněné je nevhodné pro správu většího množství webů a programování skriptů, to druhé lze doporučit pouze ortodoxním masochistům.
Pro vizuální administraci nabízí IIS 7.0 novou verzi Internet Service Manageru. V duchu ostatních nástrojů pro správu, které jsou součástí Windows Web Serveru 2008, nabízí výrazně přehlednější rozhraní, ve kterém je většina i pokročilých nastavení k dispozici na jedno či dvě kliknutí. Nikoliv tedy v nepřehledné změti dialogových oken dle vzoru vlastnosti – pokročilé vlastnosti – ještě pokročilejší vlastnosti, jak tomu bylo dříve.

Pro příznivce příkazové řádky je zde k dispozici utilita appcmd.exe, která umožní nastavit všechny parametry, například v dávkových souborech. IIS lze také spravovat pomocí WMI (Windows Management Instrumentation) a jeho namespace rootwebAdministration. Pro .NET aplikace a managed kód jsou k dispozici strongly-typed třídy v namespace System.Web.Administration. Existuje také provider pro PowerShell a samozřejmě též vrstva pro zpětnou kompatibilitu se starším ADSI rozhraním, aby nevyšla naprázdno oběť těch, kdo dali všanc svoji duši při praní skriptů pro ni. Nově je k dispozici též webová služba, která umožňuje připojit se IIS Managerem přes HTTP/HTTPS na dálku, pouhým zpřístupněním jednoho webového endpointu.
Nový FTP server
IIS 7.0 obsahuje též novou verzi FTP serveru. Tu je ale nutné stáhnout z webu www.iis.net, na instalačním CD Windows Serveru 2008 je k dispozici pouze stará verze, stejná jako v případě IIS 6.0. Hlavní novinky, mnohými netrpělivě očekávané, jsou podpora FTPS (šifrovaná varianta FTP), podpora Unicode v názvech souborů a lepší možnost nastavení portů pro pasivní režim, což zjednodušuje konfiguraci firewallu. FTP7 podporuje též Membership a Role providery, známé z ASP.NET. Je tedy možné pro přihlašování FTP uživatelů používat nikoliv systémové účty, ale i účty uložené třeba v SQL databázi nebo XML souborech.
Závěrem
Vinou neblaze proslulé verze 4.0 má IIS v odborných kruzích velmi špatnou pověst, co do stability, zabezpečení a výkonu. Již předchozí verze 6.0, jako součást Windows Serveru 2003, přinesla tolik změn, že je tato pověst neoprávněná. Sluší se například poznamenat, že za celou dobu své existence nebyla v IIS 6.0 objevena jediná kritická bezpečnostní chyba.

IIS 7.0 odstraňuje poslední zásadní dluhy, které Microsoft vůči jeho uživatelům má, tedy konfiguraci, modularitu a rozšiřitelnost. Se znalostí historického vývoje a schopností jednotlivých verzí IIS tedy mohu za více než případný označit podtitulek tohoto článku. Per aspera ad astra – utrpením ke hvězdám.
Autor působí jako hlavní softwarový architekt společnosti Altairis.


![]() ![]() | ||||||
Po | Út | St | Čt | Pá | So | Ne |
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 |
Formulář pro přidání akce
15.5. | Konference SCADA Security |
22.5. | Akce pro automobilové dodavatele "3DEXPERIENCE... |
12.6. | Konference ABIA CZ 2025: setkání zákazníků a partnerů... |
29.9. | The Massive IoT Conference |